home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / btrieve / btool100.exe / INCLUDE.EXE / BTR_DECL.H < prev    next >
Text File  |  1990-08-06  |  5KB  |  160 lines

  1. /*
  2.     btr_decl.h
  3.  
  4.     Copyright (c) 1990, by Jeffrey K Regan
  5.     ALL RIGHTS RESERVED.
  6.  
  7.     Revision History:
  8.     -----------------
  9. */
  10.  
  11. /***********************/
  12. /* Function Prototypes */
  13. /***********************/
  14.  
  15. int BTRV (int, char *, char *, int *, char *, int);
  16.  
  17. int read_open_file (btr_fcb *, char *, char *, char *, char *, int, int);
  18. char *read_open_name (char *, char *);
  19.  
  20. int btr_begin_transaction (int);
  21. int btr_end_transaction (void);
  22. int btr_abort_transaction (void);
  23.  
  24. void init_btrieve (boolean);
  25. void btr_reset (void);
  26. void btr_stop (void);
  27.  
  28. char *btr_version (void);
  29. int bt_versions (ver_struct *);
  30.  
  31. void btr_display_error (int, boolean);
  32.  
  33. int bt_set_owner (btr_fcb *, char *, int);
  34. int bt_clear_owner (btr_fcb *);
  35.  
  36. int bt_close (btr_fcb *);
  37. void bt_close_file (btr_fcb *);
  38.  
  39. int bt_open (btr_fcb *, char *, char *, int, int);
  40.  
  41. int bt_create_sindex (btr_fcb *, char *, int);
  42. int bt_drop_sindex (btr_fcb *, int);
  43.  
  44. int bt_get_position (btr_fcb *, long *);
  45. int bt_get_direct (btr_fcb *, long);
  46.  
  47. int bt_get_next (btr_fcb *, int);
  48. int bt_get_prev (btr_fcb *, int);
  49. int bt_get_first (btr_fcb *, int);
  50. int bt_get_last (btr_fcb *, int);
  51. int bt_get_gt (btr_fcb *, int);
  52. int bt_get_ge (btr_fcb *, int);
  53. int bt_get_lt (btr_fcb *, int);
  54. int bt_get_le (btr_fcb *, int);
  55. int bt_get_eq (btr_fcb *, int);
  56.  
  57. int bt_step_first (btr_fcb *, int);
  58. int bt_step_last (btr_fcb *, int);
  59. int bt_step_next (btr_fcb *, int);
  60. int bt_step_prev (btr_fcb *, int);
  61.  
  62. int bt_insert (btr_fcb *);
  63. int bt_update (btr_fcb *);
  64. int bt_delete (btr_fcb *);
  65.  
  66. int bt_unlock (btr_fcb *);
  67. int bt_unlock_multi (btr_fcb *, long);
  68. int bt_unlock_all (btr_fcb *);
  69.  
  70. int bt_status (btr_fcb *, btr_stat_struct *);
  71. int bt_clone (btr_fcb *, char *, boolean);
  72. int bt_create (btr_fcb *, boolean);
  73.  
  74. /***************/
  75. /*    Code Macros */
  76. /***************/
  77.  
  78. #define btr_lock_ok(x) ((x == b_get_key) || (x == b_lock_none) || (x == b_lock_wait) || (x == b_lock_nowait) || (x == b_mlock_wait) || (x == b_mlock_nowait))
  79.  
  80. #define btr_call(x,y) BTRV(y, x.pb, x.db, &x.rl, x.kb, x.kn)
  81. #define btr_pcall(x,y) BTRV(y, x->pb, x->db, &x->rl, x->kb, x->kn)
  82.  
  83. #define btr_versions(x) bt_versions(&x)
  84.  
  85. #define btr_get_position(x,y) bt_get_position(&x,&y)
  86. #define btr_get_direct(x,y) bt_get_direct(&x,y)
  87.  
  88. #define btr_set_owner(x,c,i) bt_set_owner(&x,c,i)
  89. #define btr_clear_owner(x) bt_clear_owner(&x)
  90.  
  91. #define btr_create_sindex(x,c,i) bt_create_sindex(&x,c,i)
  92. #define btr_drop_sindex(x,i) bt_drop_sindex(&x,i)
  93.  
  94. #define btr_unlock(x) bt_unlock(&x)
  95. #define btr_unlock_multi(x,y) bt_unlock_multi(&x,y)
  96. #define btr_unlock_all(x) bt_unlock_all(&x)
  97.  
  98. #define btr_status(x,y) bt_status(&x,&y)
  99. #define btr_clone(x,n,a) bt_clone(&x,n,a)
  100. #define btr_create(x,i) bt_create(&x,i)
  101.  
  102. #define btr_open(x,c,o,m,l) bt_open(&x,c,o,m,l)
  103.  
  104. #define btr_close(x) bt_close(&x)
  105. #define btr_close_file(x) bt_close_file(&x)
  106.  
  107. #define btr_insert(x) bt_insert(&x)
  108. #define btr_update(x) bt_update(&x)
  109. #define btr_delete(x) bt_delete(&x)
  110.  
  111. #define btr_get_next(x)    bt_get_next(&x,b_lock_none)
  112. #define btr_get_prev(x)    bt_get_prev(&x,b_lock_none)
  113. #define btr_get_first(x) bt_get_first(&x,b_lock_none)
  114. #define btr_get_last(x)    bt_get_last(&x,b_lock_none)
  115. #define btr_get_gt(x) bt_get_gt(&x,b_lock_none)
  116. #define btr_get_ge(x) bt_get_ge(&x,b_lock_none)
  117. #define btr_get_lt(x) bt_get_lt(&x,b_lock_none)
  118. #define btr_get_le(x) bt_get_le(&x,b_lock_none)
  119. #define btr_get_eq(x) bt_get_eq(&x,b_lock_none)
  120.  
  121. #define btr_get_next_lock(x,i) bt_get_next(&x,i)
  122. #define btr_get_prev_lock(x,i) bt_get_prev(&x,i)
  123. #define btr_get_first_lock(x,i) bt_get_first(&x,i)
  124. #define btr_get_last_lock(x,i) bt_get_last(&x,i)
  125. #define btr_get_gt_lock(x,i)    bt_get_gt(&x,i)
  126. #define btr_get_ge_lock(x,i)    bt_get_ge(&x,i)
  127. #define btr_get_lt_lock(x,i)    bt_get_lt(&x,i)
  128. #define btr_get_le_lock(x,i)    bt_get_le(&x,i)
  129. #define btr_get_eq_lock(x,i)    bt_get_eq(&x,i)
  130.  
  131. #define btr_step_first(x) bt_step_first(&x,b_lock_none)
  132. #define btr_step_last(x) bt_step_last(&x,b_lock_none)
  133. #define btr_step_next(x) bt_step_next(&x,b_lock_none)
  134. #define btr_step_prev(x) bt_step_prev(&x,b_lock_none)
  135.  
  136. #define btr_step_first_lock(x,i) bt_step_first(&x,i)
  137. #define btr_step_last_lock(x,i) bt_step_last(&x,i)
  138. #define btr_step_next_lock(x,i) bt_step_next(&x,i)
  139. #define btr_step_prev_lock(x,i) bt_step_prev(&x,i)
  140.  
  141. #define btr_get_data_buf(x) (x.db)
  142. #define btr_set_data_buf(x,c,y) (x.db=c,x.arl=x.rl=y)
  143.  
  144. #define btr_get_key_buf(x) (x.kb)
  145. #define btr_set_key_buf(x,c) (x.kb=c)
  146.  
  147. #define btr_get_record_len(x) (x.rl)
  148. #define btr_set_record_len(x,i) (x.rl=x.arl=i)
  149.  
  150. #define btr_reset_record_len(x) (x.rl=x.arl)
  151.  
  152. #define btr_get_key_num(x) (x.kn)
  153. #define btr_set_key_num(x,i) (x.kn=i)
  154.  
  155. #define btr_get_previous_return(x) (x.pr)
  156. /*********************/
  157. /* End of definition */
  158. /*********************/
  159.  
  160.